package com.authine.cloudpivot.ext.service.invoice;

import com.authine.cloudpivot.ext.dto.model.invoice.InvoiceDetail;
import com.authine.cloudpivot.ext.dto.query.InvoiceDetailQuery;
import com.authine.cloudpivot.ext.service.invoice.impl.InvoiceDetailBillServiceImpl;
import com.authine.cloudpivot.ext.service.trade.TradeService;
import com.authine.cloudpivot.ext.service.trade.impl.TradeServiceImpl;
import com.authine.mvp.app.launcher.domain.utills.ApplicationContextUtils;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;

import java.util.Collection;
import java.util.List;

public interface InvoiceDetailService {
    NamedParameterJdbcTemplate jdbcTemplate =  ApplicationContextUtils.getBean(NamedParameterJdbcTemplate.class);
    InvoiceDetailBillService invoiceDetailBillService = new InvoiceDetailBillServiceImpl();
    TradeService tradeService = new TradeServiceImpl();

    List<InvoiceDetail> listInvoiceDetail(InvoiceDetailQuery invoiceDetailQuery);

    void deleteInvoiceDetail(Collection<String> invoiceDetailIds, Collection<String> invoiceIds);
}
